#!/usr/bin/env python3
"""简单验证ChromaDB路径修复"""

import os
import sys
from pathlib import Path

def main():
    """简单验证ChromaDB配置"""
    print("=== ChromaDB配置验证 ===")
    
    # 1. 检查当前工作目录
    current_dir = os.getcwd()
    print(f"当前工作目录: {current_dir}")
    
    # 2. 检查配置文件
    config_file = Path("config/database.yaml")
    print(f"配置文件: {config_file.absolute()}")
    print(f"配置文件存在: {config_file.exists()}")
    
    if config_file.exists():
        import yaml
        with open(config_file, 'r', encoding='utf-8') as f:
            config = yaml.safe_load(f)
        
        chromadb_config = config.get('databases', {}).get('chromadb', {})
        persist_dir = chromadb_config.get('persist_directory', './data/chroma_db')
        print(f"配置中的persist_directory: {persist_dir}")
        
        # 3. 检查实际路径
        abs_path = Path(persist_dir).resolve()
        print(f"解析后的绝对路径: {abs_path}")
        print(f"路径存在: {abs_path.exists()}")
        
        if abs_path.exists():
            items = list(abs_path.iterdir())
            print(f"包含 {len(items)} 个项目")
            if items:
                print(f"项目示例: {[item.name for item in items[:3]]}")
        
        # 4. 检查标准路径
        standard_path = Path("data/chroma_db").resolve()
        print(f"\n标准路径: {standard_path}")
        print(f"标准路径存在: {standard_path.exists()}")
        
        if standard_path.exists():
            items = list(standard_path.iterdir())
            print(f"标准路径包含 {len(items)} 个项目")
        
        # 5. 路径一致性检查
        if abs_path == standard_path:
            print("\n✓ 配置路径与标准路径一致")
        else:
            print(f"\n✗ 配置路径与标准路径不一致")
            print(f"  配置路径: {abs_path}")
            print(f"  标准路径: {standard_path}")
    
    # 6. 检查MCP主程序
    main_file = Path("src/main.py")
    print(f"\nMCP主程序: {main_file.absolute()}")
    print(f"主程序存在: {main_file.exists()}")
    
    # 7. 检查MCP模块
    mcp_main = Path("src/mcp/main.py")
    print(f"MCP模块: {mcp_main.absolute()}")
    print(f"MCP模块存在: {mcp_main.exists()}")
    
    print("\n=== 验证完成 ===")
    
    # 8. 给出建议
    print("\n=== 建议 ===")
    print("1. 确保MCP配置中的cwd设置为: d:\\MCP\\mcp2")
    print("2. 确保PYTHONPATH包含: d:\\MCP\\mcp2\\src")
    print("3. ChromaDB数据应该在: d:\\MCP\\mcp2\\data\\chroma_db")
    print("4. 配置文件中persist_directory应该是: ./data/chroma_db")

if __name__ == "__main__":
    main()